#include "TelePhoneBook.h"
#include "TelePhoneInFo.h"
#include "MyString.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


void UI()
{
    printf("  **1.插入新用户**  \n");
    printf("  **2.删除用户**  \n");
    printf("  **3.查看用户**  \n");
    printf("  **4.修改用户**  \n");
    printf("  **5.打印信息**  \n");
    printf("  **6.退出**  \n");
}

void Init_Tel_Book(Tel_Book *t)
{
    t->szie = 0;

}

void Insert_Person(Tel_Book *t)
{   
    printf("请输入联系人姓名：\n");
    getchar();
    GetStr(&t->T[t->szie].Name);
    printf("请输入联系人号码：\n");
    GetStr(&t->T[t->szie].Phone);
    t->szie++;
    printf("插入成功！\n");
    printf("%d",t->szie);
    getchar();
}

void Del_Person(Tel_Book *t)
{
    printf("请输入要删除联系人的姓名/电话号码：\n");
    getchar();
    char p[12] ;
    int flag = 0;
    scanf("%s",p);
    for(int i = 0;i < t->szie;i++)
    {
        if(strcmp(t->T[i].Name.str,p) == 0 || strcmp(t->T[i].Phone.str,p) == 0)
        {
            for(int j = i;j < t->szie - 1;j++)
            {
                t->T[j] = t->T[j + 1];
            }
            flag = 1;
            i--;
            t->szie--;
        }
        
    }
    if(flag)
        printf("删除成功\n");
    else
        printf("没有找到此人信息！\n");
    getchar();
    getchar();
}

bool Find_Person(Tel_Book *t)
{
    if(t->szie == 0)
    {
        printf("当前通讯录为空！\n");
        return false;
    }
    for(int i = 0;i < t->szie;i++)
    {
        printf("序号: %d  ",i);
        PrintStr(&t->T[i].Name,true);
        PrintStr(&t->T[i].Phone,false);
    }
    printf("请输入要查找的联系人的姓名/电话号码：\n");
    getchar();
    char p[12] ;
    int flag = 0;
    scanf("%s",p);
    for(int i = 0;i < t->szie;i++)
    {
        if(strcmp(t->T[i].Name.str,p) == 0 || strcmp(t->T[i].Phone.str,p) == 0)
        {
            printf("序号: %d  ",i);
            PrintStr(&t->T[i].Name,true);
            PrintStr(&t->T[i].Phone,false);
            flag = 1; 
        }
    }
    if(flag == 0)
    {
        printf("没有找到此人信息！\n");
        getchar();
        return false;
    }
    getchar();
    getchar();
    return true;
}

void Mod_Person(Tel_Book *t)
{
    if(Find_Person(t) == false)
        return;
    else{
        int i = 0;
        int n = 0;
        printf("请输入要修改的序号：\n");
        scanf("%d",&i);
        printf("输入1修改姓名    输入2修改号码\n");
        scanf("%d",&n);
        switch(n)
        {
            case 1:
                printf("请输入联系人姓名：\n");
                char name[64];
                scanf("%s",name);
                InsertStr(&t->T[i].Name,name);
                getchar();
                break;
            case 2:
                printf("请输入联系人号码：\n");
                char phone[64];
                scanf("%s",phone);
                InsertStr(&t->T[i].Phone,phone);
                getchar();
                break;
            default:
                break;
        }
        printf("修改成功！\n");
    }
}

void List_Person(Tel_Book *t)
{
    if(t->szie == 0)
        return;
    for(int i = 0;i < t->szie;i++)
    {
        printf("序号: %d  ",i);
        PrintStr(&t->T[i].Name,true);
        PrintStr(&t->T[i].Phone,false);
    }
    getchar();
    getchar();
    
}
